home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 106 - Proboard KEY Floppy - Must be in Drive 1.dsk / TIMEGRAPHER425C / TG425C / TIMEGRAPHER.S < prev   
Text File  |  2000-01-01  |  19KB  |  449 lines

  1.           
  2.                          ;  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  3.                          ;  TimeGrapher.S version 4.25c jpe
  4.                          ;  Published by A.1 Computing (TM)
  5.                          ;  (C) Sept. 89 by John P. Edwards
  6.                          ;  -------------------------------
  7.                          ;  Please Do Not Pirate this!
  8.                          ;  For Sale to Sysops: Send $5 to:
  9.                          ;  -------------------------------
  10.                          ;  A.1 Computing~s  ProBOARD
  11.                          ;  PO BOX 3301
  12.                          ;  Paso Robles, CA  93447
  13.                          ;  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  14.           
  15.                          ;  Update # 2145 January 30th, 1990 @ 13:10 (ACOS 1.3j Patched)
  16.                          ;  Requires 80 Columns, ProScrn is supported but not required.
  17.           
  18.                          ;  Thank You For Buying TimeGrapher! jpe (Be Sure Everything is On The Drive
  19.                          ;  Spec Used in Your Previous link And Run.)  if ya see the business potential
  20.                          ;  inherent in this type of thing like I do, call me!
  21.           
  22.                          ;  Many Thanks To Greg Ring for all his Help and Ideas!
  23.                          ;  To PsuedoCode and Steve Prado, John Thyne and BlueKnight. 
  24.                          ;  Joe Siegler and Arsenal of Freedom, Steve Leichter and Apple Elite II
  25.           
  26.           free:kill'null':kill'var':store'var':clear
  27.           on nocar goto Gbye
  28.           
  29. Mnu.j
  30.           close:f$='graph.data':open#1,f$:fs=size(1):q=mark(1)
  31.           f1$='stash.data':open#2,f1$:jd=mark(2):close
  32.           if (jd or fs>8) gosub start
  33.           if jd and q goto mnu.1:else l=l+1
  34.           if l=1 gosub weekly
  35.           
  36. Mnu.1     
  37.           x=(clock(2)-clock(1))/60:y=clock(2):x$=right$('0'+str$(x),3)
  38.           if clock(1)>clock(2) x$='!!!'
  39.           if x=0 x$='---'
  40.           if not y x$='***'
  41.           if info(5) x$=':::'
  42.           print\'['x$'][ Minutes Remaining ][ TimeGrapher Deluxe 4.25 Main ] ';
  43.           print'('chr$(15)'?=Help'chr$(14)'):';
  44.           pop:push mnu.j:gosub getkey
  45.           
  46. Blah      
  47.           if i$='Q'or i$='A'goto Linx
  48.           if i$='T'goto Link
  49.           if i$='U'goto Start
  50.           if i$='D'goto Daily
  51.           if i$='Y'goto Yearly
  52.           if i$='W'goto Weekly
  53.           if i$='B'goto Baud
  54.           if i$='M'goto Misc
  55.           if i$='V'goto View
  56.           if i$='*'and info(5)goto options
  57.           
  58. Mnu
  59.           f$='TimeGraph.Help'
  60.           
  61. Mnu.2
  62.           open#1,f$:input#1,x$:setint(' '):forl=1tolen(x$)
  63.           addint(mid$(x$,l,1)):next:printchr$(12)\
  64.           copy#1:if key(3)goto mnu.3
  65.           a=key(0):close:setint(''):pop:goto mnu.1
  66.           
  67. Mnu.3
  68.           close:setint(''):a=key(0)
  69.           if(a>96)and(a<123)a=a-32
  70.           if a=32 pop:goto mnu.1
  71.           print:i$=chr$(a):goto blah
  72.           
  73. Link
  74.           print\'Logoff The System? (y/N):';:gosub getkey
  75.           if i$<>'Y'return
  76.           pop:clear:recall'var':kill'var':link'a:main.seg','termin2'
  77.           
  78. Linx
  79.           pop:clear:recall'var':kill'var':link'a:main.seg','fromsys'
  80.           
  81. Gbye
  82.           pop:clear:recall'var':kill'var':link'a:main.seg','term1'
  83.           
  84.                          ;  ------------------------------------
  85.                          ;  End Main Body, SubRoutines Follow...
  86.                          ;  ------------------------------------
  87.           
  88. Start
  89.           if q and jd print\'TimeGraphs Initialized...'\:return
  90.           gosub header
  91.           close:f2$='null':killf2$:createf2$:open#1,f2$
  92.           input#1,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab
  93.           input#1,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7
  94.           input#1,m1,m2,m3,m4,m5,m6,m7,m8,m9,mz,mb,mc
  95.           input#1,y1,y2,y3,y4,y5,y6,z1,z2,z$
  96.           input#1,z3,zz,d1,d2,d3,d4,d5,d6,d7
  97.           input#1,x,x,mx$:close#1:killf2$
  98.           
  99. Reader
  100.           if q print\'It Was Just Updated!'\:return
  101.           if fs<4 print\'Insufficient Data, File is now 'fs'/4 Size..'\:return
  102.           if not(jd)print\'Updating Archives!':gosub report
  103.           if jd print\'Welcome To TimeGrapher...'
  104.           open#1,f$:print\'Reading Datum Record [ ';
  105.           s=-2:forj=1to200
  106.           if eof(1)k=j-1:j=200:next:print\\k' Data Points Added To Base':goto compute
  107.           s$=str$(j):printchr$(8,s+2);j' ]';
  108.           s=len(s$):input#1,x,y,z,zx,dj$
  109.           if x=0 a0=a0+1
  110.           if x=1 a1=a1+1
  111.           if x=2 a2=a2+1
  112.           if x=3 a3=a3+1
  113.           if x=4 a4=a4+1
  114.           if x=5 a5=a5+1
  115.           if x=6 a6=a6+1
  116.           if x=7 a7=a7+1
  117.           if x=8 a8=a8+1
  118.           if x=9 a9=a9+1
  119.           if x=10 aa=aa+1
  120.           if x=11 ab=ab+1
  121.           if x=12 ac=ac+1
  122.           if x=13 ad=ad+1
  123.           if x=14 ae=ae+1
  124.           if x=15 af=af+1
  125.           if x=16 b0=b0+1
  126.           if x=17 b1=b1+1
  127.           if x=18 b2=b2+1
  128.           if x=19 b3=b3+1
  129.           if x=20 b4=b4+1
  130.           if x=21 b5=b5+1
  131.           if x=22 b6=b6+1
  132.           if x=23 b7=b7+1
  133.           if y=1 y1=y1+1
  134.           if y=4 y2=y2+1
  135.           if y=8 y3=y3+1
  136.           if y=16 y4=y4+1
  137.           if y=32 y5=y5+1
  138.           if y=64 y6=y6+1
  139.           if zx=1 m1=m1+1
  140.           if zx=2 m2=m2+1
  141.           if zx=3 m3=m3+1
  142.           if zx=4 m4=m4+1
  143.           if zx=5 m5=m5+1
  144.           if zx=6 m6=m6+1
  145.           if zx=7 m7=m7+1
  146.           if zx=8 m8=m8+1
  147.           if zx=9 m9=m9+1
  148.           if zx=10 mz=mz+1
  149.           if zx=11 mb=mb+1
  150.           if zx=12 mc=mc+1
  151.           if dj$='Mon' d1=d1+1
  152.           if dj$='Tue' d2=d2+1
  153.           if dj$='Wed' d3=d3+1
  154.           if dj$='Thu' d4=d4+1
  155.           if dj$='Fri' d5=d5+1
  156.           if dj$='Sat' d6=d6+1
  157.           if dj$='Sun' d7=d7+1
  158.           z1=z1+z:next:k=200
  159.           
  160. Compute
  161.           close:print\'Stashing Data...';:p=100:d=10
  162.           a0=(a0*p)/k*d:a1=(a1*p)/k*d:a2=(a2*p)/k*d:a3=(a3*p)/k*d
  163.           a4=(a4*p)/k*d:a5=(a5*p)/k*d:a6=(a6*p)/k*d:a7=(a7*p)/k*d
  164.           a8=(a8*p)/k*d:a9=(a9*p)/k*d:aa=(aa*p)/k*d:ab=(ab*p)/k*d
  165.           ac=(ac*p)/k*d:ad=(ad*p)/k*d:ae=(ae*p)/k*d:af=(af*p)/k*d
  166.           b0=(b0*p)/k*d:b1=(b1*p)/k*d:b2=(b2*p)/k*d:b3=(b3*p)/k*d
  167.           b4=(b4*p)/k*d:b5=(b5*p)/k*d:b6=(b6*p)/k*d:b7=(b7*p)/k*d
  168.           y1=(y1*p)/k*d:y2=(y2*p)/k*d:y3=(y3*p)/k*d:y4=(y4*p)/k*d
  169.           y5=(y5*p)/k*d:y6=(y6*p)/k*d:d1=(d1*p)/k*d:d2=(d2*p)/k*d
  170.           d3=(d3*p)/k*d:d4=(d4*p)/k*d:d5=(d5*p)/k*d
  171.           d6=(d6*p)/k*d:d7=(d7*p)/k*d:r=sw:z2=z1:z1=z1/k
  172.           z3=val(left$(date$,2)):print'..One Moment.'
  173.           
  174. Combine
  175.           if jd goto new
  176.           print\'Combining, This may Take a Second...';
  177.           open#1,f1$
  178.           input#1,w0,w1,w2,w3,w4,w5,w6,w7,w8,w9,wa,wb
  179.           input#1,wc,wd,we,wf,x0,x1,x2,x3,x4,x5,x6,x7
  180.           input#1,n1,n2,n3,n4,n5,n6,n7,n8,n9,oa,ob,oc
  181.           input#1,ya,yb,yc,yd,ye,yf,za,zb
  182.           input#1,zc,z4,da,db,dc,dd,de,df,dg,cd,co
  183.           input#1,nn,nz,mx$:close#1:print'Please Hold...':if w0=0 goto new
  184.           a0=(a0+w0)/2:a1=(a1+w1)/2:a2=(a2+w2)/2:a3=(a3+w3)/2:a4=(a4+w4)/2
  185.           a5=(a5+w5)/2:a6=(a6+w6)/2:a7=(a7+w7)/2:a8=(a8+w8)/2:a9=(a9+w9)/2
  186.           aa=(aa+wa)/2:ab=(ab+wb)/2:ac=(ac+wc)/2:ad=(ad+wd)/2:ae=(ae+we)/2
  187.           af=(af+wf)/2:b0=(b0+x0)/2:b1=(b1+x1)/2:b2=(b2+x2)/2:b3=(b3+x3)/2
  188.           b4=(b4+x4)/2:b5=(b5+x5)/2:b6=(b6+x6)/2:b7=(b7+x7)/2:y1=(y1+ya)/2
  189.           y2=(y2+yb)/2:y3=(y3+yc)/2:y4=(y4+yd)/2:y5=(y5+ye)/2:y6=(y6+yf)/2
  190.           d1=(d1+da)/2:d2=(d2+db)/2:d3=(d3+dc)/2:d4=(d4+dd)/2:d5=(d5+de)/2
  191.           d6=(d6+df)/2:d7=(d7+dg)/2:z1=(z1+za)/2
  192.           if z3=zc then print\'It~s still 'mx$'!'\:goto cool
  193.           
  194. New
  195.           print\'A Brand New Month...';
  196.           if z3=1 mx$=m1$:n1=0
  197.           if z3=2 mx$=m2$:n2=0
  198.           if z3=3 mx$=m3$:n3=0
  199.           if z3=4 mx$=m4$:n4=0
  200.           if z3=5 mx$=m5$:n5=0
  201.           if z3=6 mx$=m6$:n6=0
  202.           if z3=7 mx$=m7$:n7=0
  203.           if z3=8 mx$=m8$:n8=0
  204.           if z3=9 mx$=m9$:n9=0
  205.           if z3=10 mx$=mz$:oa=0
  206.           if z3=11 mx$=mb$:ob=0
  207.           if z3=12 mx$=mc$:oc=0
  208.           printmx$\
  209.           
  210. Cool
  211.           if z2>60 z2=z2-60:zz=zz+1:goto cool
  212.           if z2>=30 zz=zz+1
  213.           z2=zz+zb:cd=cd+k
  214.           m1=m1+n1:m2=m2+n2:m3=m3+n3:m4=m4+n4:m5=m5+n5:m6=m6+n6
  215.           m7=m7+n7:m8=m8+n8:m9=m9+n9:mz=mz+oa:mb=mb+ob:mc=mc+oc
  216.           nn=m1+m2+m3+m4+m5+m6+m7+m8+m9+mz+mb+mc
  217.           
  218. Dude
  219.           if z2>10000 z2=z2-10000:z4=z4+1:goto dude
  220.           if cd>10000 cd=cd-10000:co=co+1:goto dude
  221.           if nn>10000 nn=nn-10000:nz=nz+1:goto dude
  222.           
  223. Stash
  224.           killf1$:createf1$:open#1,f1$
  225.           print#1,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab
  226.           print#1,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7
  227.           print#1,m1,m2,m3,m4,m5,m6,m7,m8,m9,mz,mb,mc
  228.           print#1,y1,y2,y3,y4,y5,y6,z1,z2,date$
  229.           print#1,z3,z4,d1,d2,d3,d4,d5,d6,d7,cd,co
  230.           print#1,nn,nz,mx$:close#1:killf$:jp$=date$:return
  231.           
  232. Header
  233.           pt=0:setint(chr$(29)):printchr$(5);chr$(1,info(2)*15);
  234.           pt=(key(0)=29):setint(''):if info(0)=0 pt=1
  235.           if u pt=0
  236.           print'Working...';:if not(u)printchr$(8,10)chr$(12):else print
  237.           print#u,\'-=:*:=- -=:*:=- -=:*:=- -=:*:=- -=:*:=- -=:*:=-';
  238.           print#u,' -=:*:=- -=:*:=- -=:*:=- -=:*:=-'
  239.           print#u,'   '  ;:if pt printchr$(15);
  240.           print#u,' TimeGrapher Deluxe Version 4.25c';
  241.           print#u,' by John P. Edwards (C) September, 1989 '
  242.           if pt printchr$(14);
  243.           print#u,'-=:*:=- -=:*:=- -=:*:=- -=:*:=- -=:*:=- -=:*:=-';
  244.           print#u,' -=:*:=- -=:*:=- -=:*:=- -=:*:=-'
  245.           print#u,chr$(95,79)
  246.           m1$='January__':m2$='February_':m3$='March____':m4$='April____'
  247.           m5$='May______':m6$='June_____':m7$='July_____':m8$='August___'
  248.           m9$='September':mz$='October__':mb$='November_':mc$='December '
  249.           open#1,f1$
  250.           input#1,w0,w1,w2,w3,w4,w5,w6,w7,w8,w9,wa,wb
  251.           input#1,wc,wd,we,wf,x0,x1,x2,x3,x4,x5,x6,x7
  252.           input#1,n1,n2,n3,n4,n5,n6,n7,n8,n9,oa,ob,oc
  253.           input#1,ya,yb,yc,yd,ye,yf,za,zb,jp$
  254.           input#1,z3,z4,da,db,dc,dd,de,df,dg,cd,co
  255.           input#1,nn,nz,mx$:close#1:if jp$='' jp$=date$
  256.           return
  257.           
  258. Daily
  259.           if u=2 h=1:gosub disk
  260.           gosub header:print#u,'| Hour|'chr$(95,17)'AM'chr$(95,34);
  261.           print#u,'PM'chr$(95,17)
  262.           print#u,'| was |12| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12| 1| 2| 3| 4| 5|';
  263.           print#u,' 6| 7| 8| 9|10|11|':print#u,chr$(61,79)
  264.           print#u,'Prcnt: '(w0+5)/10'% '(w1+5)/10'% '(w2+5)/10'% '(w3+5)/10'% ';
  265.           print#u,(w4+5)/10'% '(w5+5)/10'% '(w6+5)/10'% '(w7+5)/10'% '(w8+5)/10'% ';
  266.           print#u,(w9+5)/10'% '(wa+5)/10'% '(wb+5)/10'% '(wc+5)/10'% '(wd+5)/10'% ';
  267.           print#u,(we+5)/10'% '(wf+5)/10'% '(x0+5)/10'% '(x1+5)/10'% '(x2+5)/10'% ';
  268.           print#u,(x3+5)/10'% '(x4+5)/10'% '(x5+5)/10'% '(x6+5)/10'% '(x7+5)/10'%'
  269.           print#u,chr$(45,79):k$='**|':j$='  |'
  270.           if pt k$=chr$(16)+'WV'+chr$(14)+'|'
  271.           fory=5to60 step5:x=65-y:print#u,'|'x/10;
  272.           if right$(str$(x),1)<>'0' print#u,'.5% |';:else print#u,'.0% |';
  273.           if w0>=x print#u,k$;:else print#u,j$;
  274.           if w1>=x print#u,k$;:else print#u,j$;
  275.           if w2>=x print#u,k$;:else print#u,j$;
  276.           if w3>=x print#u,k$;:else print#u,j$;
  277.           if w4>=x print#u,k$;:else print#u,j$;
  278.           if w5>=x print#u,k$;:else print#u,j$;
  279.           if w6>=x print#u,k$;:else print#u,j$;
  280.           if w7>=x print#u,k$;:else print#u,j$;
  281.           if w8>=x print#u,k$;:else print#u,j$;
  282.           if w9>=x print#u,k$;:else print#u,j$;
  283.           if wa>=x print#u,k$;:else print#u,j$;
  284.           if wb>=x print#u,k$;:else print#u,j$;
  285.           if wc>=x print#u,k$;:else print#u,j$;
  286.           if wd>=x print#u,k$;:else print#u,j$;
  287.           if we>=x print#u,k$;:else print#u,j$;
  288.           if wf>=x print#u,k$;:else print#u,j$;
  289.           if x0>=x print#u,k$;:else print#u,j$;
  290.           if x1>=x print#u,k$;:else print#u,j$;
  291.           if x2>=x print#u,k$;:else print#u,j$;
  292.           if x3>=x print#u,k$;:else print#u,j$;
  293.           if x4>=x print#u,k$;:else print#u,j$;
  294.           if x5>=x print#u,k$;:else print#u,j$;
  295.           if x6>=x print#u,k$;:else print#u,j$;
  296.           if x7>=x print#u,k$:else print#u,j$
  297.           next:print#u,chr$(61,79):return
  298.           
  299. Yearly
  300.           if u=2 h=2:gosub disk
  301.           gosub header
  302.           print#u,'|    Month    | 100|200|300|400|500|600|700|800|900|';
  303.           print#u,'   1100|   1300|      1550|'
  304.           print#u,chr$(61,79):k$='*':j$=' ':b=1550:c=25:d=1300
  305.           if pt k$=chr$(16)+'^'+chr$(14)
  306.           print#u,'|__'m1$'__|';:forx=c to b step c
  307.           if n1>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n1' calls':x=b
  308.           next:print#u,'|__'m2$'__|';:forx=c to b step c
  309.           if n2>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n2' calls':x=b
  310.           next:print#u,'|__'m3$'__|';:forx=c to b step c
  311.           if n3>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n3' calls':x=b
  312.           next:print#u,'|__'m4$'__|';:forx=c to b step c
  313.           if n4>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n4' calls':x=b
  314.           next:print#u,'|__'m5$'__|';:forx=c to b step c
  315.           if n5>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n5' calls':x=b
  316.           next:print#u,'|__'m6$'__|';:forx=c to b step c
  317.           if n6>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n6' calls':x=b
  318.           next:print#u,'|__'m7$'__|';:forx=c to b step c
  319.           if n7>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n7' calls':x=b
  320.           next:print#u,'|__'m8$'__|';:forx=c to b step c
  321.           if n8>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n8' calls':x=b
  322.           next:print#u,'|__'m9$'__|';:forx=c to b step c
  323.           if n9>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,n9' calls':x=b
  324.           next:print#u,'|__'mz$'__|';:forx=c to b step c
  325.           if oa>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,oa' calls':x=b
  326.           next:print#u,'|__'mb$'__|';:forx=c to b step c
  327.           if ob>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,ob' calls':x=b
  328.           next:print#u,'|__'mc$'__|';:forx=c to b step c
  329.           if oc>=x print#u,k$;:else print#u,j$;:if x<=d:print#u,oc' calls':x=b
  330.           next:print#u,chr$(61,79)
  331.           if z3=1 mn=n1
  332.           if z3=2 mn=n2
  333.           if z3=3 mn=n3
  334.           if z3=4 mn=n4
  335.           if z3=5 mn=n5
  336.           if z3=6 mn=n6
  337.           if z3=7 mn=n7
  338.           if z3=8 mn=n8
  339.           if z3=9 mn=n9
  340.           if z3=10 mn=oa
  341.           if z3=11 mn=ob
  342.           if z3=12 mn=oc
  343.           mn$=right$('      '+str$(nn),6):if nz mn$=str$(nz)+mn$
  344.           print#u,'[ Total calls for 'mx$': 'mn' ][ Total Past 12 Months:  'mn$' ]'
  345.           return
  346.           
  347. Weekly
  348.           if u=2 h=3:gosub disk
  349.           gosub header
  350.           print#u,'  Percent:  'da/10'%       'db/10'%        'dc/10'%       ';
  351.           print#u,dd/10'%       'de/10'%         'df/10'%       'dg/10'%'
  352.           print#u,chr$(61,79)
  353.           print#u,'||Calls|   Mon.  |  Tues.  |   Wed.  |  Thur.  |  Fri.   |';
  354.           print#u,'   Sat.  |  Sun.   ||'
  355.           print#u,chr$(45,79):k$='  *-*-*  |':j$='         |'
  356.           if pt k$='  '+chr$(16)+'WVWVW'+chr$(14)+'  |'
  357.           fory=20to200 step20:x=220-y:print#u,'|| ';
  358.           if x<100 print#u,' ';
  359.           print#u,x/10   ;:print#u,'% |';
  360.           if da>=x print#u,k$;:else print#u,j$;
  361.           if db>=x print#u,k$;:else print#u,j$;
  362.           if dc>=x print#u,k$;:else print#u,j$;
  363.           if dd>=x print#u,k$;:else print#u,j$;
  364.           if de>=x print#u,k$;:else print#u,j$;
  365.           if df>=x print#u,k$;:else print#u,j$;
  366.           if dg>=x print#u,k$;:else print#u,j$;
  367.           print#u,'|':next:print#u,chr$(61,79)
  368.           z2$=right$('0000'+str$(zb),4):if z4 z2$=str$(z4)+z2$
  369.           print#u,'[ Total Hours Graphed To Date: 'z2$;
  370.           print#u,' ][ Average Call is:  'za' mins. ]'
  371.           return
  372.           
  373. Baud
  374.           if u=2 h=4:gosub disk
  375.           gosub header:print#u,'||Percent |__________________________'jp$;
  376.           print#u,'________________________________||'
  377.           print#u,'||of Calls|   300   |  1200   |  2400   |  4800   |';
  378.           print#u,'  9600   |  19.2k  | **** ||'
  379.           print#u,chr$(61,79):k$='  *****  |':j$='         |'
  380.           if pt k$='  '+chr$(16)+'WVWVW'+chr$(14)+'  |'
  381.           fory=50to600 step50:x=650-y:print#u,'||   ';
  382.           if x<100 print#u,' ';
  383.           print#u,x/10   ;:print#u,'%  |';
  384.           if ya>=x print#u,k$;:else print#u,j$;
  385.           if yb>=x print#u,k$;:else print#u,j$;
  386.           if yc>=x print#u,k$;:else print#u,j$;
  387.           if yd>=x print#u,k$;:else print#u,j$;
  388.           if ye>=x print#u,k$;:else print#u,j$;
  389.           if yf>=x print#u,k$;:else print#u,j$;
  390.           print#u,'      ||':next:print#u,chr$(61,79)
  391.           cd$=right$('    '+str$(cd),4):if co cd$=str$(co)+cd$
  392.           print#u,'[ Graphs Updated: 'jp$' ][ Percentage Based On 'cd$;
  393.           print#u,' Data Points ]'
  394.           return
  395.           
  396. View
  397.           s=0:print'
  398.           View Previous:  [D]aily  W)eekly  Y)early  B)aud  Q)uit'
  399.           print'
  400.           Select Letter: ';
  401.           gosub getkey:if i$='A' or i$='Q' print\'Quit Back....'\:pop:goto mnu.1
  402.           if i$='B'print\'Baud....':s=4
  403.           if i$='W'print\'Weekly..':s=3
  404.           if i$='Y'print\'Yearly..':s=2
  405.           if s = 0 print\'Daily...':s=1
  406.           print\:setint(1):copy'Report.'+str$(s):setint(''):goto view
  407.           
  408. Misc
  409.           gosub header:me$='TimeGraph.Ed':copy me$:pop:goto mnu.1
  410.           
  411. Options
  412.           u=0:h=0:print'
  413.           P)rinter        D)isk File      [S]creen'\
  414.           print'
  415.           Select Option: ';:gosub getkey
  416.           if i$<>'D' and i$<>'P' print\'Screen Active...'\
  417.           if i$='P' print\'Printer On...'\:u=5
  418.           if i$='D' print\'Disk File Active...'\:u=2
  419.           return
  420.           
  421. Report
  422.           u=2:gosub daily:gosub yearly:gosub weekly:gosub baud
  423.           u=0:h=0:print\'Previous Reports Archived.':return
  424.           
  425. Disk
  426.           close:print\'Creating Disk File 'h:kill'report.'+str$(h)
  427.           create'report.'+str$(h):open#u,'report.'+str$(h):return
  428.           
  429. Getkey
  430.           i$='':if flag(7)=0 input@2''i$:return
  431.           zy=0
  432.           
  433. Get2
  434.           if (clock(2)<>0) and (clock(1)>clock(2))goto getgone
  435.           zx=peek(-16384)
  436.           if (zx=129) or (zx=150) get i$:printchr$(8);:return
  437.           zx=key(0):if (zx>96) and (zx<123) zx=zx-32
  438.           if zx<>0 i$=chr$(zx):printi$:return
  439.           zy=zy+1
  440.           if zy=1500:printchr$(7);:goto get2
  441.           if zy=3000:print'Timeout...':pop:modem(1):goto Gbye
  442.           goto get2
  443.           
  444. GetGone
  445.           print\'Time Limit Exceeded':pop:modem(1):goto Gbye
  446.           
  447.                          ; EOF
  448.  
  449.